The Internet is one of the fastest growing and ubiquitous modes of commerce. Many companies have Internet servers prepared for commercial delivery of goods and services. At first, the products found on the Internet or more specifically, the world wide web (WWW) were computer-based products, but today, more and more businesses are competing to set up commercial services on the world wide web.
A common problem with the Internet is a lack of secure communication channels. In order for hospitals, governments, banks, stock brokers, and credit card companies to make use of the Internet, privacy and security must be ensured. Further, many consumers are hesitant about providing credit card information via the Internet.
One approach to solving the aforementioned problem uses data encryption. A server is provided with an encryption unit; and, encryption keys are stored within the encryption unit. A known encryption algorithm is used such as a public-key/private-key system. In use, a user sends information in an encrypted form so that only the encryption means using a private-key can decrypt (or decipher) the encrypted information. Upon receiving the information, an Internet server provides it to an encryption means for decryption. Decrypted data is passed back to the Internet server. Often, the encryption means forms part of the server.
Likewise, when information is to be sent to a recipient and is of a confidential nature, it is passed to the encryption means for encryption using a public-key prior to transmission. In this way, data is passed in a more secure fashion and access to the encryption keys is limited.
Another encryption scheme commonly used makes use of session-keys which are exchanged each time a connection is made and which change with each connection to a server. Using session-keys, limits the amount of data encrypted with a given key and thereby enhances security. Unfortunately, most session keys are generated using a predictable algorithm which provides significant security against common access but limited security against experienced security experts.
Presently, most implementations of security encryption rely on an algorithm existent in both the server and a client computer. Such algorithms are incorporated in popular network software such as Netscape Navigator.RTM.. An encryption key is exchanged and a computer, using a standard algorithm as incorporated into many network software packages, performs encryption of data for transmission and decryption of data upon receipt.